软件版本:IntelliJ IDEA 2017.3.3 x64
Spring 4.3.14RELEASE
Tomcat 9.0.4
初始的结构目录如下:
可以看到此时WEB-INF目录下有三个配置文件,分别为applicationContext.xml
,dispatcher-servlet.xml
以及web.xml
。
我们首先对web.xml
进行修改
然后对dispatcher-servlet.xml
进行修改
其中第一个框是为了增加组件的自动扫描,其中base-package的值取决于你在src下需要进行扫描的包名。
第二个框指明了解析器如何对你所返回的值进行解析,我们对前缀和后缀进行限定,这样就相当于解析器在对你所返回的值进行解析时自动访问/WEB-INF/jsp/XXX.jsp的文件。
我们不对applicationContext.xml
文件进行处理。
以上则是对配置文件的处理。
以下是对具体业务逻辑的处理。
首先在controller这个包下创建一个java类用于充当控制器。
然后如2所示,在类上使用@Controller
作为注解,用于告知Spring容器,该类为控制器类,应被当作控制器进行解析。3的@RequestMapping
是请求映射,同样是采用注解的形式,4中的/hello是访问时(例如:localhost:8080/hello),当该地址被访问时,会被自动映射到5中的“hello”,这个hello是代表之前在dispatcher-servlet.xml
中配置的地址(/WEB-INF/jsp)下的hello.jsp文件。所以此时我们应在jsp目录下创建hello.jsp
文件以满足解析需要。
此msg为之前在helloController
中使用modelMap添加的属性值中的msg,此处使用el表达式进行获取。至此,所有的代码准备工作已经完成,后续就是启动服务,此处我们使用Tomcat9.0.4
点击OK即可完成Tomcat的链接。
然后启动该项目
此时会多出一个out文件夹,里面你可以看到被打包出来的文件。不过此时会报错。
解决方法如下:
注意在lib中添加jstl.jar
,servlet-api.jar
,standard.jar
,否则可能出现报错情况。
至此完成所有的工作,启动tomcat后在地址栏输入localhost:8080/hello,即可看到hello world。